<html>
<head>
	<title>MTGDeck: Manual de usuario</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <style>
        body
        {
            font-family: Verdana;
            background-color: #333333;
            color: #CCCCCC;
            padding: 0px 40px 0px 40px;
        }
        
        div.screenshots
        {
            text-align: center;
        }
        
        div.screenshots img
        {
            width: 800px;
            margin-bottom: 10px;
            border: 0px;
        }
        
        div.title
        {
            font-weight: bold;
        }
        
        p
        {
            margin-bottom: 30px;
        }
        
        li
        {
            margin-bottom: 10px;
        }
        
        a
        {
            color: #CCCCCC;
            border: 0px;
        }
    </style>
</head>

<body>
    <h1>MTGDeck: Manual de usuario</h1>
	<div class="title">Introducción</div>
	<p>Este programa/juego permite jugar al conocido juego de trading cards "Magic: The Gathering" desde la computadora a través de la red, sin la necesidad de comprar los no-tan-baratos set de cartas, pudiendo probar distintos mazos, combinaciones, estrategias, etc...</p>

    <p><em>Se recomienda visualizar este manual con Safari o Firefox, ya que sus imágenes son PNG e Internet Explorer los maneja de forma incorrecta</em></p>

	<div class="title">Aplicaciones incluidas</div>
	<p>El juego esta separado en dos aplicaciones distintas:        <ul>            <li><em>Servidor</em>: programa encargado de almacenar la información de las manos de los jugadores y de comunicarlos entre si. El mismo puede servir varias partidas distintas y para jugar siempre será necesario acceso al servidor donde se aloje la partida a la cual se desea ingresar.</li>
            <li><em>Cliente</em>: programa desde el cual - conectándose a un servidor - permite jugar partidas de Magic contra el resto de los jugadores conectados. </li>
        </ul>	</p>

	<div class="title">Cómo jugar</div>
	<p>Para jugar con MTGDeck lo primero que se debe hacer es tener un servidor iniciado al cual conectarse. Para hacerlo, ejecutar el archivo <em>ZPod.MTG.WebServer.exe</em> si se desea utilizar para comunicarse utilizando WebService o <em>ZPod.MTG.RemotingServer.exe</em> para comunicarse mediante Remoting, los cuales se encuentran dentro de la carpeta <em>Server</em>.	</p>

	<div class="screenshots">
		<a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture1.png" alt="Aplicación server" /></a>

		<a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture2.png" alt="Server ejecutandose" /></a>
	</div>

	<p>Una vez iniciado el server se debe ejecutar el archivo <em>ZPod.MTG.Windows.exe</em> desde la carpeta <em>Client</em> para inciar la aplicación cliente.	</p>

	<div class="screenshots">
		<a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture3.png" alt="Aplicación cliente" /></a>

		<a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture2.png" alt="Cliente ejecutandose" /></a>
	</div>

	<p>El primer campo del dialogo de conexión indica la dirección del servidor. Su contenido default permite conectarse a un servidor web, alojado en la máquina local en el puerto 1234 (ej: http://localhost:1234/GameServer).<br />
    Para conectarse a un server de Remoting, deberá descomentar la linea que indica el ClientType del archivo de configuración del cliente antes de iniciar la aplicación y deberá cambiar el protocolo de conexión a TCP y su puerto default es 5678 (ej: tcp://localhost:5678/GameServer)<br />
	De ser necesario, modifique la dirección del server indicando el nombre o dirección IP del mismo.</p>

	<p>Al hacer click en <em>Actualizar</em> se refrescará el contenido de la lista de partidas disponibles en el servidor. En caso de no haber ninguna, puede crear una ingresando su nombre y luego haciendo click en el botón <em>Crear</em>
	</p>

	<div class="screenshots">
		<a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture4.png" alt="Configuración dirección del server" /></a>
	</div>

	<p>Para elegir el mazo a utilizar, presione el botón <em>...</em> el cual abrirá un diálogo para seleccionar el archivo con información de mazo.</p>
    
    <p>El formato del archivo de mazo es muy simple: cada renglón indica la cantidad y el nombre de cada carta que el mazo contendrá.<br>
    Ej: 
    <pre>
    4 Birds of Paradise
    3 Boreal Druid
    3 Llanowar Elves
    4 Ohran Viper
    2 Rumbling Slum
    2 Stalking Yeti
    4 Call of the Herd
    4 Cryoclasm
    4 Demonfire
    4 Stone Rain
    3 Stormbind
    2 Mouth of Ronom
    4 Scrying Sheets
    8 Snow-Covered Forest
    6 Snow-Covered Mountain
    4 Stomping Ground
    </pre></p>

	<p>Por último, deberá elegir un <em>Nickname</em> para ingresar a la partida. En caso de elegir el nombre de un jugador <em>que ya pertenece a la partida</em> ingresará a jugar con sus cartas. Hags esto únicamente con su nickname en caso de tener que reiniciar la aplicación cliente para continuar la partida anterior.

	<p>Una vez completados todos los campos, presione <em>Conectar</em>

	<div class="screenshots">
		<a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture5.png" alt="Selección de partida" /></a>
		<a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture6.png" alt="Selección de mazo y nickname" /></a>
	</div>

	<p>Una vez conectado, se habilitarán los botones de <em>Ver carta actual</em>, <em>Ver mi mano</em> y el menu desplegable para ver la lista de oponentes disponibles.</p>
    
    <div class="screenshots">
		<a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture7.png" alt="Jugador conectado" /></a>
	</div>

    <p>El botón <em>Ver carta actual</em> permite ver en una ventana separada la carta apuntada por el mouse, ya sea propia o del oponente. Se recomienda tener esta ventana abierta durante toda la partida</p>

    <p>Haciendo click en <em>Ver mi mano</em> se abrirá la ventana donde podrá ver su mazo, las cartas que tiene en la mano y las cartas en juego.<br>
    Esta pantalla se divide en 5 secciones, como se ve en la siguiente imagen:</p>
    
    <div class="screenshots">
		<a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture8.png" alt="Mi Mano" /></a>
	</div>
    
    <p>Al hacer doble click sobre el mazo, se sacará una carta y la misma pasará a su mano. Es posible que la primera vez que se obtiene cada tipo de carta el programa demore uno segundos, ya que la misma debe ser obtenida a través de internet. Para agilizar este proceso es posible hacer click derecho sobre el mazo y seleccionar la opción <em>Pre-generar cache</em> para descargar todas las imágenes juntas.</p>
    
    <p>Haciendo click derecho sobre cualquier carta que uno controle o este en su mano, se desplegará un menú con opciones para utilizarla en distintas posiciones</p>
     
    <div class="screenshots">
        <a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture9.png" alt="Mi Mano" /></a>
	</div>
    
    <p>Para asociar cartas como encantamientos a otra carta, la carta objetivo debe ubicarse en la zona de <em>Otros</em> y luego se debe hacer click derecho sobre el encantamiento a utilizar y seleccionar la opción <em>Asociar a Carta</em>. Finalmente aparecerá un menú desplegable con las cartas disponibles para asociación en la zona de <em>Otros</em>.<br />Una vez hecho eso, se podrá ver la carta en el panel de cartas asociadas a la carta actual</p>
    
    <div class="screenshots">
        <a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture10.png" alt="Asociar carta" /></a>
        <a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture11.png" alt="Carta asociada" /></a>
	</div>
    
    <p>En caso de ser necesario agregar un Token, haciendo click derecho en el panel de <em>Criaturas</em> aparecerá una opción que permitirá agregar un nuevo Token, dándole un nombre

    <div class="screenshots">
        <img class="screenshot" src="images/picture12.png" alt="Agregar Token" />
	</div>
        
    <p>Al seleccionar un oponente en la ventana de conexión y hacer click en el botón <em>Ver</em> se podrá ver el estado del oponente seleccionado. Esta pantalla se actualiza automáticamente cada vez que el oponente realice algún cambio.</p>
    
    <div class="screenshots">
        <a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture13.png" alt="Ver Oponente" /></a>
        <a target="_blank" href="images/picture3.png"><img class="screenshot" src="images/picture14.png" alt="Ver Todo" /></a>
	</div>
    
   	<div class="title">Configuración</div>
    
    <p>El archivo de configuración del cliente contiene las siguiente entradas (todas opcionales):
        <ul>
            <li><em>ThumbnailReductionFactor</em>: Factor de reducción de las imágenes pequeñas dentro de la aplicación. La modificación de este parámetro afectará directamente al consumo de memoria de la aplicación.</li>
            <li><em>ClientType</em>: Tipo de cliente a utilizar. De no encontrarse este parámetro se utilizara el cliente default (web services). El nombre del tipo de cliente para utilizar con el server de Remoting es: "ZPod.MTG.Communication.Remoting.Client, ZPod.MTG.Core"</li>
            <li><em>DefaultAddress</em>: Dirección predeterminada del servidor al iniciar la aplicación</li>
        </ul>
        <br>En caso de utilizar el cliente de WebService <em>no se debe eliminar</em> el nodo de <em>system.serviceModel</em>.
    </p>
    <p>El archivo de configuración del servidor contiene las siguientes entradas (todas opcionales):
        <ul>
            <li><em>Port</em>: Puerto donde se creará el server.</li>
            <li><em>ServerName</em>: Nombre del servidor</li>
            <li><em>DefaultAddress</em>: Dirección predeterminada del servidor al iniciar la aplicación</li>
        </ul>
    </p>
    
    <div class="title">FAQ</div>
    
    <p>
        <ul>
            <li><em>¿Cómo empiezo?</em><br />
            El paquete incluye un pequeño manual de usuario. Ahí esta toda la info necesaria para salir andando.
            </li>
            <li><em>Todo muy lindo pero... ¿Cómo armo mi mazo?</em><br />
            El formato del archivo de mazos es muy simple: cada línea tiene la cantidad de cartas de un tipo, seguida por el nombre de la carta. Las lineas que comienzan con "#" son ignoradas. Junto con el paquete se incluye un ejemplo.<br />
            Para armar mazos, recomiendo la siguiente página: <a target="_blank" href="http://www.essentialmagic.com/decks/">http://www.essentialmagic.com/decks/</a>
            </li>
            <li><em>¡No puedo conectarme al servidor! ¿Qué pasa?</em><br />
            Posiblemente, el problema sea que el firewall de Windows (o algún otro) no este permitiendo conectarse al puerto 1234 (o el que esté configurado) en la computadora donde el servidor esté ejecutando. Para solucionarlo, habilitar el puerto en el firewall o desactivarlo por completo.<br />
            Durante las pruebas me ha ocurrido que hay máquinas donde el server web indica que levantó correctamente, sin embargo es imposible conectarse, incluso desde la máquina local. Cuando tenga identificado este error y lo solucione, avisaré.<br />
            También es posible encontrarse con problemas al utilizar el servidor de Remoting si se está usando NAT en la red
            </li>
            <li><em>Encontré un error. ¿Cómo lo reporto?</em><br />
            Pueden contactarse conmigo por <a target="_blank" href="http://twitter.com/pablozaiden">twitter</a>, por mail o dejando un comentario en el blog.
            </li>
            <li><em>Me gustaría que el juego tuviese tal o cual feature. ¿Qué puedo hacer?</em><br />
            Nuevamente, podes contactarme por alguno de los medios nombrados anteriormente y si sos desarrollador, próximamente vas a poder contribuir con el desarrollo
            </li>
        </ul>
    </p>
</body>
</html>